package com.market.dao;

import java.util.List;

import com.market.domain.Order;
import com.market.domain.OrderDetail;
import com.market.domain.Promotion;
import com.market.domain.transients.OrderQuery;

public interface OrderDao extends GenericDao<Order, Long> {
	public List<OrderDetail> findOrderDetails(Order order);
	
	/**
	 * This method find all of orders that satisfy the conditions specified by query
	 * @param orderQuery
	 * @return
	 */
	public List<Order> findOrders(OrderQuery orderQuery);
	
	/**
	 * This method find all of promotions related to current order
	 * @param orderQuery
	 * @return
	 */
	public List<Promotion> findPromotions(Order order);
}
